var sessionId = $.cookie("sessionId");
var element, layer, form, table, layedit, upload, laydate;
$(function () {
    if (sessionId == null || sessionId == "null") {
        window.location.href = "login.html";
    } else {//进入页面
        //页面权限判断
        myajax_backstage("/getadmininfo.json", 'get', {}, function (result) {
            if (result.status == 200) {
                //展示用户信息
                $("#userinfo").text(result.admin_user.username);
            } else if (result.status == 403) {
                window.location.href = "login.html";
            }
        });
        //layUI渲染
        !function () {
            element = layui.element;
            layer = layui.layer;
            form = layui.form;
            table = layui.table;
            layedit = layui.layedit;
            upload = layui.upload;
            laydate = layui.laydate;
            element.render();
        }();
    }

//===========================================================================

    //表单校验规则
    form.verify({
        //密码校验
        password: [/^[\S|\s]{5,20}$/, '密码为5到20位'],
        //重复密码校验
        checkpassword: function (value, item) { //value：表单的值、item：表单的DOM对象
            if ($("#newpassword").val() !== $("#password").val()) {
                return '密码不一致';
            }
        },
        //admin insert表单
        //用户名校验
        username: [/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/, '用户名为5到16位（字母开始，其他可使用数字，下划线)'],

        onlynumber: [/^[1-9]\d*$/, '只能为整数'],

        price: [/((^[1-9]\d*)|^0)(\.\d{0,2})?$/, '格式不正确']

    });
//===========================================================================
    var updatepasswordindex;
    //绑定用户修改密码事件
    $("#updatepassword").click(function () {
        updatepasswordindex = layer.open({
            type: 1,
            title: "修改密码",
            content: $("#update_password_html"),
            area: ['400px', '250px'],
        });
    });

    form.on('submit(updatesubmit)', function (data) {
        layer.msg("网络请求中...");
        myajax_backstage("/updatepassword.json", "post", {"password": $("#newpassword").val()}, function (result) {
            if (result.status == 200) {
                layer.msg("修改成功");
                layer.close(updatepasswordindex);
            } else {
                layer.msg("修改失败");
            }
        }, function () {
            layer.msg("网络错误");
        });
        return false;
    });
//===================================================================================================
    //绑定用户退出事件
    $("#logout").click(function () {
        myajax_backstage("/logout.json", "post");
        $.cookie("admin_user", null, {expires: 7, path: "/"});
        window.location.href = "login.html";
    });
//=========================================================================================================
    //导航点击事件监听
    element.on('nav(admin-nav)', function (elem) {
        //根据导航name创建tab选项卡
        var tab_name = elem.text();
        var tab_id = elem.attr("name");
        if (tab_id == null) {
            return;
        }
        if (tab_id == "deleteAll") {
            $.each($(".layui-tab-title li[lay-id]"), function () {
                content_tab.tabDelete($(this).attr("lay-id"));
            });
            element.render('nav(admin-nav)');
            return;
        }
        //这时会判断右侧.layui-tab-title属性下的有lay-id属性的li的数目，即已经打开的tab项数目
        if ($(".layui-tab-title li[lay-id]").length <= 0) {
            //如果比零小，则直接打开新的tab项
            content_tab.tabAdd(tab_id, tab_name);
        } else {
            //否则判断该tab项是否以及存在
            var isData = false; //初始化一个标志，为false说明未打开该tab项 为true则说明已有
            $.each($(".layui-tab-title li[lay-id]"), function () {
                //如果点击左侧菜单栏所传入的id 在右侧tab项中的lay-id属性可以找到，则说明该tab项已经打开
                if ($(this).attr("lay-id") == tab_id) {
                    isData = true;
                }
            });
            if (!isData) {
                //标志为false 新增一个tab项
                content_tab.tabAdd(tab_id, tab_name);
            }
        }
        //最后不管是否新增tab，最后都转到要打开的选项页面上
        content_tab.tabChange(tab_id);

    });

    var content_tab = {
        //在这里给绑定几项事件，后面调用这些事件
        tabAdd: function (id, name) {
            //初始化选项卡时，创建表格、填充数据
            element.tabAdd('content-tab', {
                title: name,
                content: '<table id="' + id + '" lay-filter="content' + id + '"></table>',
                id: id
            });
            //渲染表格以及加载后续事件
            table_renderandload(id);
        },
        tabChange: function (id) {
            element.tabChange('content-tab', id); //根据传入的id传入到指定的tab项

        },
        tabDelete: function (id) {
            element.tabDelete("content-tab", id);//删除
        }
    };

//==============================================================================

    //默认点击导航
    $("a[name='admin']").trigger("click");

//==============================================================================

});

var tableInss = {};

//渲染表格以及加载后续事件
function table_renderandload(id) {
    //渲染表格
    tableInss[id] = table.render(get_render_options(id));

    //监听表头工具栏事件   查询和重置
    table.on('toolbar(content' + id + ')', function (obj) {
        selectAndReset(id, obj);
    });
    //监听行工具条
    table.on('tool(content' + id + ')', function (obj) {
        rowToolBar(id, obj);
    });

    //监听表单simpleinsert提交事件
    form.on('submit(' + id + '_insert)', function (data) {
        return tableToolBarform_insertsubmit(id, data);
    });

}
